Compression encoding technologies are used to efficiently transmit and accumulate moving picture data. MPEG-1 to 4 and H.261 to H.264 are widely used video coding technologies.
In such video coding technologies, encoding processing and decoding processing are carried out after an image to be encoded is divided into a plurality of blocks. In intra-picture prediction encoding, a prediction signal is generated using a previously reconstructed neighbouring image signal (obtained by restoring compressed image data) located within the current picture where a target block is included, and thereafter a differential signal is obtained by subtracting the prediction signal from the signal of the target block and encoded. In inter-picture prediction encoding, referring to a previously reconstructed image signal within a picture different from the picture within which the target block is included, motion compensation is carried out, and a prediction signal is generated. The prediction signal is subtracted from the signal of the target block to generate a differential signal, and the differential signal is encoded.
Ordinarily, in inter-picture prediction (inter prediction) encoding, a prediction signal is generated by searching previously reconstructed pictures for a signal resembling the pixel signal of a block to be encoded previously. A motion vector that represents the spatial displacement amount between the target block and the region formed by the signal searched for, and the residual signal between the pixel signal of the target block and the prediction signal are encoded. The technique of searching respective bocks for the motion vector in this way is called block matching.
FIG. 10 is a schematic diagram for explaining the block matching process. Here, the procedure for generating a prediction signal is described with an example in which a picture 701 includes a target block 702 to be encoded. A reference picture 703 has previously been reconstructed. A region 704 is located at the spatially same position as the target block 702 is located. In the block matching process, a search region 705 neighbouring the region 704 is defined, and from the pixel signals in the search region, a region 706 is to be detected that has the lowest sum of the absolute differences from the pixel signals of the target block 702. The signal of the region 706 becomes a prediction signal, and the displacement amount from the region 704 to the region 706 is detected as a motion vector 707. Furthermore, a method is commonly used in which a plurality of reference pictures 703 is identified for each target block, a reference picture is selected on which the block matching is performed, and reference picture selection information is generated. In H.264, in order to cope with local feature changes in images, a plurality of prediction types are provided which are used with different block sizes each for encoding a motion vector. The prediction types of H.264 are described, for example, in Patent Literature 2.
H264 also performs intra-picture prediction (intra prediction) encoding in which a prediction signal is generated by extrapolating, in predetermined directions, the values of the previously reconstructed pixels adjacent to a block to be encoded. FIG. 11 is a schematic diagram for explaining the intra-picture prediction used in ITU H.264. In FIG. 11(A), a target block 802 is a block to be encoded, and a pixel group (reference sample group) 801 is from an adjacent region which includes image signal previously reconstructed in previous processing, and the group includes pixels A to M adjacent to the boundary of the target block 802 previously reconstructed.
In this case, a prediction signal is generated by extending the pixel group (reference sample group) 801 of adjacent pixels immediately above the target block 802 in the downward direction. In FIG. 11(B), a prediction signal is generated by extending the previously reconstructed pixels (I to L) located on the left of a target block 804 in the rightward direction. A detailed explanation for generating a prediction signal is given, for example, in Patent Literature 1. The difference from the pixel signal of the target block is calculated for each of the nine prediction signals generated as shown in FIGS. 11(A)-11(B). The prediction signal having the smallest difference value is selected as the optimum prediction signal. As described above, prediction signals (intra prediction samples) can be generated by extrapolating the pixels. The description above is provided in Patent Literature 1 below.
The intra-picture prediction shown in Non Patent Literature 1 provides 25 types of prediction signal generation methods all performed in different directions of extending reference samples, in addition to the 9 types described above (a total of 34 types).
In Non Patent Literature 1, in order to suppress distortions in reference samples, the reference samples are subjected to a low pass filter before a prediction signal is generated. Specifically, a 121 filter having weight coefficients of 1:2:1 is applied to the reference samples before the extrapolation prediction. This processing is called intra smoothing.
With reference to FIG. 7 and FIG. 8, the intra-picture prediction in Non Patent Literature 1 is described. FIG. 7 shows an example of block division. Five blocks 220, 230, 240, 250, and 260 adjacent to a target block 210, which has a block size of N×N samples, have previously been reconstructed. For intra prediction of the target block 210, reference samples denoted as ref[x] (x=0 to 4N) are used. FIG. 8 shows the process flow of the intra prediction. First, in step 310, reference samples ref[x] (x=0 to 4N) are derived from a memory into which a prediction signal generator for carrying out the intra-picture prediction process stores reconstructed pixels. In the step, some of the adjacent blocks may not have been reconstructed because of the encoding order, and all the 4N+1 samples ref[x] may not be derived. If it is the case, the missing samples are substituted with samples generated by a padding process (the values of the neighbouring samples are copied), whereby 4N+1 reference samples are prepared. The details of the padding process are described in Non Patent Literature 1. Next, in step 320, the prediction signal generator performs the smoothing process on the reference samples using the 121 filter. Finally, in step 330, the prediction signal generator predicts a signal in the target block by extrapolations (in the directions of intra-picture prediction) and generates a prediction signal (i.e., intra prediction samples).